package com.yidu.service.impl;

import java.util.List;
import java.util.Map;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import com.yidu.common.Tools;
import com.yidu.dao.ListenRawstockMapper;
import com.yidu.dao.ListenRawstockStockMapper;
import com.yidu.domain.ListenRawstock;
import com.yidu.domain.ListenRawstockStock;
import com.yidu.service.ListenRawstockService;

/**
 * @title 材料Service实现类 
 * @author 江宇
 * @dateTime 2019年1月13日
 */
@Service
public class ListenRawstockServiceImpl implements ListenRawstockService {
	
	@Resource
	ListenRawstockMapper dao;
	
	@Resource
	ListenRawstockStockMapper rsDao;
	
	/**
     * @title 查询材料
     * @param Map
     * @return List
     * @author 江宇
     * @dateTime 2018年11月28日
     * @versions 1.0
     */
	@Override
	public List<ListenRawstock> findRawstock(Map<String, Object> map) {
		 
		return dao.findRawstock(map);
	}
	
	 /**
     * @title 查询材料行数
     * @param Map
     * @return int
     * @author 江宇
     * @dateTime 2018年11月28日
     * @versions 1.0
     */
	@Override
	public int findRawstockCount(Map<String, Object> map) {
		
		return dao.findRawstockCount(map);
	}
	
	 /**
     * @title  增加和修改材料
     * @param ListenRawstock
     * @return int
     * @author 江宇
     * @dateTime 2018年11月28日
     * @versions 1.0
     */
	@Override
	public int addOrUpdate(ListenRawstock ra) {
		int rows=0;
		//如果材料ID不为空调用修改的方法
		if(!Tools.isEmpty(ra.getRawstockId())) {
			rows=dao.updateByPrimaryKeySelective(ra);
		}else {
			//UUID主键
			ra.setRawstockId(Tools.getRandomString(32));
			//是否有效(有效)
			ra.setIsva(1);
			//调用增加材料的方法
			rows=dao.insertSelective(ra);
			
			//创建材料库存类对象
			ListenRawstockStock rs=new ListenRawstockStock();
			
			//UUID主键
			rs.setRsId(Tools.getRandomString(32));
			//材料ID
			rs.setRawstockId(ra.getRawstockId());
			//材料名称
			rs.setRawstockName(ra.getRawstockName());
			//材料数量
			rs.setRawstockNumber(0);
			//是否有效(有效)
			rs.setIsva(1);
			//调用增加材料库存的方法
			rows=rsDao.insertSelective(rs);
		}
		return rows;
	}
	
	 /**
     * @title 根据ID查询材料 
     * @param String
     * @return ListenRawstock
     * @author 江宇
     * @dateTime 2018年11月28日
     * @versions 1.0
     */
	@Override
	public ListenRawstock findRawstockId(String rawstockId) {
		 
		return dao.selectByPrimaryKey(rawstockId);
	}

}
